1. Field of Invention
The present invention relates to a remote procedure processing device, and more particularly to the processing of procedures used by computer systems that are connected through a network into a network information system.
2. Description of Related Art
Recently, there has been an expansion in the use of networked information systems, where computer systems are connected via a network. In a networked information system, a user can request services from another computer (e.g., a server) in order to perform procedures and obtain data. The Common Gateway Interface (CGI) is a standard that allows an application program to run by defining environment variables, command lines, standard input, and standard output to be used between an information server and an application program. Thus, the information server, such as an HTTP server, can generate data dynamically. However, the Common Gateway Interface does not provide any mechanism for services that allow an application program to perform remote procedures available on other information servers, such as HTTP servers. Thus, it has not been possible to freely combine information clients (e.g., Word Wide Web clients) with application programs which are activated by information servers such as HTTP servers.
Japanese Laid-Open Publication Number 6-75892 discloses a "device for managing remote procedures". This invention comprises: a remote procedure requesting component, a system remote procedure processing component, and a system procedure. pre-processor. The remote procedure requesting component requests a remote procedure for the service provided by the system. The system remote procedure execution component executes a remote procedure for the service provided by the system. The system remote procedure processing component manages remote procedures by linking the system remote procedure execution component with a plurality of remote procedures for the service provided by the system based on a remote procedure identifier that is unique within the network system. The system procedure pre-processor is called from a stub, which executes a remote procedure call, queries the system remote procedure processing component, determines the system's remote procedure to be called, and calls the corresponding system remote procedures execution component. This configuration allows a remote procedure provided by a system to be called even if the remote procedure on the system is not defined in the interface of the application service.
The ANSA Information Services Framework from Architecture Projects Processing Limited Corp. (U.K.) is a distributed system based on Common Object Request Broker Architecture and Specification (CORBA) and the World Wide Web. The ANSA Information Services Framework is described, for example in Rees, O., Edwards, N., Madsen, M., Beasley, M. and McClenaghan, A., in "A Web of Distributed Object", The ANSA Project Architecture Projects Processing Ltd. (1995). This system uses the Internet Inter-ORB Protocol (IIOP) in order to transfer the General Inter-ORB Protocol via the IP protocol. This technology makes it possible to access CORBA objects from the WWW by preparing a gateway for converting HTTP to IIOP and a gateway for converting IIOP to HTTP.
DeleGate is a multi-object protocol broadcasting systerr developed by the Denshi Gijutsu Sogou Kenkyuujo. DeleGate is described, for example, in "Tamenteki Purotocol Chuukei System DeleGate (DeleGate: A Multi-Object Protocol Broadcasting System)" (Denshi Gijutsu Sogou Kenkyuujo Ihou, Vol. 59, No. 6 (1995)). DeleGate provides features relating to path control, access control, protocol conversion, character code conversion, MIME code conversion, data caching, connection caching, broadcasting for existing applications, mounting features, and the like.
However, with both of these devices, it is difficult for the user of a remote procedure client application to combine a plurality of remote procedure servers to obtain a desired service. Also, when services are provided through a combination of remote procedure calls, it is difficult for the user of the client application to know the execution results from each of the remote procedures and the parameters provided to these procedures.
Another problem exists when using this type of service if the user is not thoroughly familiar with the specifications of the server that executes the remote procedure. The user will be unable to use the server because a complete request for the remote procedure must be made from the beginning of the communication.
For example, CORBA is the standard specification relating to the dispersed object developed by the standardization group Object Management Group (OMG) in regards to object direction. The Interface Repository is one component of the Object Request Broker (ORB) designated by CORBA, and which has the function of perpetuating the interface definition which corresponds to the object.
ORB makes possible the use of the interface definition of the object that is managed by the Interface Repository, including:
a check of the type of request PA1 a check of the suitability of the interface, inheritance, and graph PA1 the supply of the inter-operability between the realization of differing ORBs PA1 the installation and distribution of the interface definition PA1 the support of the interface and browser environment PA1 the supply of the interface information for the language system PA1 the supply of the component(s) for the end user
However, the Interface Repository stipulated by the OMG does not mnake the stipulations for an object to return the interface information directly to the object of the source of the message transmission when an error exists in the, message for the object, or to return the interface information to the source of the message transmission in multiple stages when a multistage connection of the object is being performed. Thus, a meaningful execution cannot be performed even when executing a remote procedure with the argument in an unconfirmed state to a remote procedure management system. Additionally, unconfirmed arguments are unable to be asked to the called client with the execution process, and hence the user is unable to change the argument interactively.
Another example is the interface definition file generation device disclosed in Japanese Laid-Open Patent Publication No. 7-282017. A device is provided from a source program defined by the process supplied to the client by the server, creating the interface definition file describing the process specification by the language stipulated by the compiler for stub creation to provide a dispersed processing environment. In this way, the interface information can be passed to the client from the server. However, even with this device, it is not supposed that a remote procedure call with the argument in an unconfirmed state can be executed to a remote procedure management system, nor can this device inform the called client with the execution process that it is undefined. For this reason, it is not possible to change the argument interactively.